package cn.mw.cmdb.virtualization.dto;

import cn.mw.cmdb.virtualization.annotations.VirtualizationAlias;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;

/**
 * @description 虚拟化虚拟机DTO
 */
@Getter
@Setter
@Schema(name = "VirtualizationVMDto", description = "虚拟化虚拟机DTO")
public class VirtualizationVMDto extends VirtualizationBaseDto implements Serializable {

    private static final long serialVersionUID = 1L;

    @VirtualizationAlias(itemName = "MWVM_POWER_STATUS",describe = "电源状态")
    private String powerStatus;

    @VirtualizationAlias(itemName = "VM_POWER_STATE,MWVM_STATUS",describe = "状态")
    private String status;

    @VirtualizationAlias(itemName = "Storage Capacity Total",describe = "置备空间")
    private String preparationSpace;

    @VirtualizationAlias(itemName = "Committed storage space",describe = "已用空间")
    private String usedSpace;

    @VirtualizationAlias(itemName = "Uncommitted storage space",describe = "剩余空间")
    private String freeSpace;

    @VirtualizationAlias(itemName = "MWVM_CPU_CORES",describe = "CPU核数")
    private String mwVmCpuCores;

    @VirtualizationAlias(itemName = "MW_DISK_UTILIZATION",describe = "磁盘使用率")
    private String diskUsageRate;

    @VirtualizationAlias(itemName = "MWVM_CPU_USAGE",describe = "已用CPU")
    private String usedCpu;

    @VirtualizationAlias(itemName = "MWVM_MEMORY_USAGE",describe = "已用内存")
    private String usedMemory;

    @VirtualizationAlias(itemName = "MWVM_CPU_UTILIZATION",describe = "CPU使用率")
    private String cpuUsageRate;

    @VirtualizationAlias(itemName = "MWVM_MEMORY_UTILIZATION",describe = "内存使用率")
    private String memoryUsageRate;

    //持续运行时间
    @VirtualizationAlias(itemName = "MWVM_UPTIME",describe = "持续运行时间")
    private String runTime;

    /**
     * 虚拟化类型
     */
    private String type;
}
